<?php


/**
 * +----------------------------------------------------------
 * 获取友情链接
 * +----------------------------------------------------------
 */
function get_link_list() {
    $sql = "SELECT * FROM " . $GLOBALS['dou']->table('link') . " ORDER BY sort ASC, id ASC";
    $query = $GLOBALS['dou']->query($sql);
    while ($row = $GLOBALS['dou']->fetch_array($query)) {
        $link_list[] = array (
                "id" => $row['id'],
                "link_name" => $row['link_name'],
                "link_url" => $row['link_url'],
                "sort" => $row['sort'] 
        );
    }
    return $link_list;
}

/**
 * +----------------------------------------------------------
 * 获取帮助
 * +----------------------------------------------------------
 */
function get_help_list($k='',$page='1',$num='10') {
    $where = "WHERE (title like '%{$k}%' OR content like '%{$k}%')";
    $pager = $GLOBALS['dou']->pager_query('help', $num, $page, "?t=help_center&p=$page", $where);
    $sql = "SELECT * FROM " . $GLOBALS['dou']->table('help') . " $where ORDER BY id DESC {$pager['limit']} ";
    $query = $GLOBALS['dou']->query($sql);
    while ($row = $GLOBALS['dou']->fetch_array($query)) {
        $list[] = $row;
    }
    $res['list']  = $list;
    $res['page_count'] = $pager['page_count'];
    return $res;
}

/**
 * +----------------------------------------------------------
 * 获取文章
 * +----------------------------------------------------------
 */
function get_article_list($k='',$page='1',$num='10') {
    $where = "WHERE (title like '%{$k}%' OR content like '%{$k}%')";
    $pager = $GLOBALS['dou']->pager_query('article', $num, $page, "?t=media_center&p=$page", $where);
    $sql = "SELECT * FROM " . $GLOBALS['dou']->table('article') . " $where ORDER BY id DESC {$pager['limit']} ";
    $query = $GLOBALS['dou']->query($sql);
    while ($row = $GLOBALS['dou']->fetch_assoc($query)) {
        $row['add_time'] = date("Y-m-d", $row['add_time']);
        $row['description'] = $GLOBALS['dou']->dou_substr($row['content'], 200);
        $list[] = $row;
    }
    $res['list']  = $list;
    $res['page_count'] = $pager['page_count'];
    return $res;
}

/**
 * 字符截取 支持UTF8/GBK
 * @param $string
 * @param $length
 * @param $dot
 */
function str_cut($string, $length, $dot = '...') {
    global $charset;
    if(strlen($string) <= $length) return $string;
    $string = str_replace(array('&amp;', '&quot;', '&lt;', '&gt;'), array('&', '"', '<', '>'), $string);
    $strcut = '';
    if(strtolower($charset) == 'utf-8') {
        $n = $tn = $noc = 0;
        while($n < strlen($string)) {
            $t = ord($string[$n]);
            if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
                $tn = 1; $n++; $noc++;
            } elseif(194 <= $t && $t <= 223) {
                $tn = 2; $n += 2; $noc += 2;
            } elseif(224 <= $t && $t <= 239) {
                $tn = 3; $n += 3; $noc += 2;
            } elseif(240 <= $t && $t <= 247) {
                $tn = 4; $n += 4; $noc += 2;
            } elseif(248 <= $t && $t <= 251) {
                $tn = 5; $n += 5; $noc += 2;
            } elseif($t == 252 || $t == 253) {
                $tn = 6; $n += 6; $noc += 2;
            } else {
                $n++;
            }
            if($noc >= $length) break;
        }
        if($noc > $length) $n -= $tn;
        $strcut = substr($string, 0, $n);
    } else {
        for($i = 0; $i < $length; $i++) {
            $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
        }
    }
    $strcut = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $strcut);
    return $strcut.$dot;
}